import Mock from 'mockjs' // 引入mockjs
// const Random = Mock.Random // Mock.Random 是一个工具类，用于生成各种随机数据
const dataList = [] // 用于接受生成数据的数组
for (let i = 0; i < 100; i++) { // 可自定义生成的个数
    const template = Mock.mock({
        miaoshu: Mock.mock('@csentence()'),
        Name: Mock.mock('@cname()'),
        time: Mock.mock('@date'),
        'style|1': [
            "CN",
            "US",
        ],
        'id': i + 1,
        describe: Mock.mock('@csentence(5)'),

    })
    dataList.push(template)
}

// 模拟分页
Mock.mock('http://sunlisongzhenshuai/api/list', 'post', (params) => {
    var listQuery = JSON.parse(params.body)
    var pageIndex = (listQuery.page - 1) * listQuery.pageSize
    var [index, size, total] = [pageIndex, listQuery.pageSize, dataList.length]
    var newDataList = dataList.slice(index, index + size)
    return {
        'code': '200',
        'message': '获取数据成功',
        'data': {
            'listQuery': listQuery,
            'tableData': newDataList,
            'total': total
        }
    }
})
// 模拟删除
Mock.mock('http://sunlisongzhenshuai/api/delete', 'post', (params) => {
    var data = JSON.parse(params.body)
    dataList.forEach((item, index, arr) => {
        if (item.id === data.id) {
            arr.splice(index, 1)
        }
    })
    return {
        'code': '200',
        'message': '删除成功'
    }
})

// 模拟增加
Mock.mock('http://sunlisongzhenshuai/api/add', 'post', (params) => {
    var data = JSON.parse(params.body)
    data.id = dataList.length
    dataList.unshift(data)
    return {
        'code': '200',
        'message': '添加成功'
    }
})

// 模拟修改数据
Mock.mock('http://sunlisongzhenshuai/api/update', 'post', (params) => {
    var data = JSON.parse(params.body)
    /* dataList.map((item) => {
      if (item.id === data.id) {
        return data
      } else { return item }
    }) */
    for (var i in dataList) {
        if (dataList[i].id === data.id) { // 在数组arr里找到这个id
            dataList[i] = data
        }
    }
    return {
        'code': '200',
        'message': 'success',
        'data': data
    }
})
